001 /*********************************************************************************************** 002 * Tekijä: Jukka Salminen 003 * Opiskelijanumero: i79947 004 * Email: jukka.salminen@uwasa.fi 005 * Tekoaika: 23.9.2002 006 * Kurssi/vuosi: Ohjelmoinnin jatkokurssi/kevät 2002 007 * Työn tunnus: Harjoitustyö: Taulukkoeditori web-sivulle 008 *********************************************************************************************** 009 * TableAction-luokka 010 *==================== 011 * JSAction-luokan aliluokka, joka käsittelee taulukkoon kohdistuvat tapahtumat. 012 * Käsiteltävä taulukko on tallennettu yliluokassa m_oTarget-objektiin. 013 * Tapahtumia aiheuttavat lomakkeella olevat JSButton-objektit. 014 * Näiden objektien actionCommand-ominaisuus ohjaa tämän luokan toimintaa. 015 * 016 * Metodit 017 *-------- 018 * actionPerformed Suorittaa tapahtuman käsittelyn. 019 * 020 * Jäsenmuuttujat 021 *--------------- 022 * m_oTarget Taulukko-objekti, jota tämän luokan metodit muokkaavat 023 * 024 * Paikalliset muuttujat 025 *---------------------- 026 * Ei ole 027 */ 028 029 package classes; 030 import java.awt.*; 031 import javax.swing.*; 032 import javax.swing.table.*; 033 import tables.*; 034 035 /** 036 * 037 * @author Jukka 038 */ 039 public class TableAction extends JSAction 040 { 041 public TableAction() 042 { 043 super(); 044 } 045 046 public TableAction(javax.swing.JComponent oTarget) 047 { 048 setTarget(oTarget); 049 } 050 /*********************************************************************************************** 051 * Metodi actionPerformed 052 * ===================== 053 * Lomakkeen JSButton-napin painalluksen jälkeen tätä metodia kutsutaan. 054 * Parametrina tulee ActionEvent-objekti, josta selviää painettu nappi. 055 * Aikaisemmin asetetusta jäsenmuuttujasta m_oTarget saadaan viittaus 056 * käsiteteltävään taulukkoon. 057 * 058 * Parametrit actionEvent ActionEvent-luokan objekti 059 * 060 * Paikalliset muuttujat 061 *---------------------- 062 * model JSTableModel-luokan objekti, viittaus taulukon TableModeliin. 063 ***********************************************************************************************/ 064 065 066 public void actionPerformed(java.awt.event.ActionEvent actionEvent) 067 { 068 JButton oButton = (JButton)(actionEvent.getSource()); 069 JSTable oTarget = (JSTable)m_oTarget; 070 JSTableModel model = (JSTableModel)oTarget.getModel(); 071 if (oButton.getActionCommand().equals("AddColumn")) 072 { 073 model.addEmptyColumn(); 074 } 075 if (oButton.getActionCommand().equals("AddRow")) 076 { 077 model.addEmptyRow(); 078 } 079 if (oButton.getActionCommand().equals("RemoveColumn")) 080 { 081 model.removeColumnAndData(oTarget); 082 } 083 if (oButton.getActionCommand().equals("RemoveRow")) 084 { 085 model.removeRow(oTarget); 086 } 087 if (oButton.getActionCommand().equals("InsertRow")) 088 { 089 model.insertRow(oTarget); 090 } 091 if (oButton.getActionCommand().equals("Save")) 092 { 093 model.save(oTarget); 094 JOptionPane.showMessageDialog(null, "Data saved", "Saved", JOptionPane.ERROR_MESSAGE); 095 } 096 } 097 }